#include "xx_tool.h"

#define TRIG_PIN 16    // 定义Trig引脚连接的GPIO号
#define ECHO_PIN 17 // 定义Echo引脚连接的GPIO号

void xx_distance_setup()
{
  // 设置Trig引脚为输出模式，Echo引脚为输入模式
  pinMode(TRIG_PIN, OUTPUT);
  pinMode(ECHO_PIN, INPUT);
}

float xx_distance(){

    long duration;
    float distance;
  
    // 清除Trig引脚上的信号
    digitalWrite(TRIG_PIN, LOW);
    delayMicroseconds(2);
    
    // 给Trig引脚发送一个10微秒的高电平信号，触发超声波发射
    digitalWrite(TRIG_PIN, HIGH);
    delayMicroseconds(10);
    digitalWrite(TRIG_PIN, LOW);
  
    // 读取Echo引脚返回的高电平时间（单位：微秒）
    duration = pulseIn(ECHO_PIN, HIGH);
  
    // 根据声音在空气中的传播速度计算距离（单位：厘米）
    distance = duration * 0.034 / 2;
    log("[INFO] Distance: %.2f cm", distance);
  
    return distance;
  }